Method and device for pushing information

ABSTRACT

The present disclosure discloses a method and device for pushing information to a target user. One example method includes identifying a plurality of users that meet a predetermined condition; selecting a target user from the identified users to be provided with information, where in the target user is selected based on a relationship strength and an influence of the identified users; and transmitting the information to the determined target user over a network, and relates to the field of information technologies.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priorityof U.S. patent application Ser. No. 16/721,857, filed on Dec. 19, 2019,which is a continuation of U.S. application Ser. No. 16/210,988, filedon Dec. 5, 2018, which is a continuation of PCT Application No.PCT/CN2017/085653, filed on May 24, 2017, which claims priority toChinese Patent Application No. 201610395230.1, filed on Jun. 6, 2016,and each application is hereby incorporated by reference in itsentirety.

TECHNICAL FIELD

The present disclosure relates to the field of information technologies,and in particular, to a method and device for pushing information.

BACKGROUND

With the continuous development of information technologies and Internettechnologies, various application programs are emerging, and the numberand quality of the application program users are prerequisites for theapplication programs' sustainability and development. To attract andobtain more users, in the early stage of new applications, manyapplication program providers deliver advertisements, that is, pushapplication program information to the users.

At present, during an information pushing process, by using apredetermined scoring model to select users, usually a user whopredetermined information is to be pushed receive such informationdirectly. The predetermined scoring model is generated based on userresults and user attributes previously obtained by application programs.That is, potential users are scored based on the predetermined scoringmodel, and then the user with the highest score is selected from thepotential users to receive the pushed information. However, if the userwho predetermined information is to be pushed is directly selected byusing the predetermined scoring model, and then application programinformation is pushed to the user, it can be only ensured that theselected user itself is converted into an application program user whoperforms information pushing, and more application program users thatare initially not included in the predetermined scoring model cannot beobtained, resulting in an inability to increase advertisement budgetbenefits of the application programs and relatively low informationpushing efficiency.

SUMMARY

In view of this, implementations of the present disclosure provide amethod and device for pushing information, so as to resolve a problem ofrelatively low information pushing efficiency.

To achieve the previous objective, the following technical solutions areprovided in the present disclosure.

An implementation of the present disclosure provides a method forpushing information, including: obtaining multiple users who meet apredetermined condition; selecting, based on relationship strength amongthe multiple users and influence of the multiple users, a user whopredetermined information is to be pushed from the multiple users; andpushing information to the user who predetermined information is to bepushed.

An implementation of the present disclosure provides a device forpushing information, including: an acquisition unit, configured toobtain multiple users who meet a predetermined condition; a selectionunit, configured to select, from the multiple users based onrelationship strength among the multiple users obtained by theacquisition unit and influence of the multiple users, a user whopredetermined information is to be pushed; and a pushing unit,configured to push information to the user who predetermined informationis to be pushed and that is selected by the selection unit.

An implementation of the present disclosure provides a method fordetermining a target user, including: obtaining multiple users who meeta predetermined condition; selecting, from the multiple users based oninfluence respectively corresponding to the multiple users, a user whoseinfluence meets a predetermined influence condition; and determining theuser whose influence meets the predetermined influence condition, as atarget user.

An implementation of the present disclosure provides a device fordetermining a target user, including: an acquisition unit, configured toobtain multiple users who meet a predetermined condition; a selectionunit, configured to select, from the multiple users based on influencerespectively corresponding to the multiple users obtained by theacquisition unit, a user whose influence meets a predetermined influencecondition; and a determining unit, configured to determine the userwhose influence meets the predetermined influence condition and that isselected by the selection unit, as a target user.

The technical solutions provided in the implementations of the presentdisclosure have at least the following advantages:

In a method and device for pushing information provided in theimplementations of the present disclosure, first obtain multiple userswho meet a predetermined condition; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. Compare to current methodthat a user who predetermined information is to be pushed is directlyselected and then the information is pushed to the user, in theimplementations of the present disclosure, multiple users whose scoresmeet a predetermined condition are selected by using a predeterminedscoring model, and then a user who predetermined information is to bepushed is selected from the multiple users based on relationshipstrength among the multiple users and influence of the multiple users.As such, the selected user can be converted into an application programuser who performs information pushing, and more application programusers can be additionally obtained, thereby increasing advertisementbudget benefits of the application programs and improving informationpushing efficiency.

The previous descriptions are merely an overview of the technicalsolutions of the present disclosure. For better understanding of thetechnical means of the present disclosure, the previous descriptions canbe implemented based on content of the specification, and to make theprevious and other objectives, features, and advantages of the presentdisclosure more comprehensible, specific implementations of the presentdisclosure are described as follows.

BRIEF DESCRIPTION OF DRAWINGS

It becomes clear for a person skilled in the art to learn various otheradvantages and benefits by reading detailed description of the followingpreferred implementations. Accompanying drawings are merely used forshowing the preferred implementations, but not considered as alimitation on the present disclosure. In all accompanying drawings, thesame reference symbol is used to indicate the same part. In theaccompanying drawings:

FIG. 1 shows a flowchart illustrating a method for pushing information,according to an implementation of the present disclosure;

FIG. 2 shows a flowchart illustrating another method for pushinginformation, according to an implementation of the present disclosure;

FIG. 3 shows a flowchart illustrating a method for determining a targetuser, according to an implementation of the present disclosure;

FIG. 4 shows a flowchart illustrating another method for determining atarget user, according to an implementation of the present disclosure;

FIG. 5 shows a schematic structural diagram illustrating a device forpushing information, according to an implementation of the presentdisclosure;

FIG. 6 shows a schematic structural diagram illustrating another devicefor pushing information, according to an implementation of the presentdisclosure;

FIG. 7 shows a schematic structural diagram illustrating a device fordetermining a target user, according to an implementation of the presentdisclosure;

FIG. 8 shows a schematic structural diagram illustrating another devicefor determining a target user, according to an implementation of thepresent disclosure;

FIG. 9 shows a flowchart illustrating a data processing method,according to an implementation of the present disclosure;

FIG. 10 shows a flowchart illustrating a method for generating apredetermined scoring model, according to an implementation of thepresent disclosure;

FIG. 11 shows a flowchart illustrating selection of a user whopredetermined information is to be pushed, according to animplementation of the present disclosure; and

FIG. 12 is a flowchart illustrating an example of a computer-implementedmethod for pushing information, according to an implementation of thepresent disclosure.

DESCRIPTION OF IMPLEMENTATIONS

The following describes the example implementations of the presentdisclosure in more detail with reference to the accompanying drawings.Although the accompanying drawings show the implementations of thepresent disclosure that are used as examples, it should be understoodthat the present disclosure can be implemented in various forms, andshall not be limited by the implementations described here. On thecontrary, these implementations are provided for a clearer understandingof the present disclosure, and to comprehensively convey the scope ofthe present disclosure to the person skilled in the art.

An implementation of the present disclosure provides a method forpushing information. As shown in FIG. 1, the method includes thefollowing steps.

101. Obtain multiple users who meet a predetermined condition.

The predetermined condition can be set based on a requirement of a user,or can be set based on a system requirement, which is not limited in theimplementation of the present disclosure. The multiple users can bemultiple users whose scores meet a predetermined score condition. A userwhose score meets the predetermined score condition can be selected byusing a predetermined scoring model.

The predetermined scoring model is generated based on user results anduser attributes historically obtained by application programs. The userresults historically obtained by the application programs can include apotential user historically obtained by the application programs and auser converted into an application program user. The predetermined scorecondition can be set based on a requirement of a user, or can be setbased on a system requirement, which is not limited in theimplementation of the present disclosure. For example, the predeterminedscore condition can be 750 users with highest scores in potential users,or can be users whose scores are greater than or equal to 0.8 point inthe potential users.

In this implementation of the present disclosure, before generating thepredetermined scoring model, an information pushing sample user andattribute data of the sample user need to be obtained by using aninformation pushing method with unspecified target user. Then, theattribute data of the sample user is processed to obtain characteristicdata for generating the predetermined scoring model. The characteristicdata for generating the predetermined scoring model needs to be completewithout loss and accurate without anomaly, and have a data formatconforming to a scoring model generation standard.

The information pushing method for ambiguously specifying a target useris used to deliver and display application program advertisements onvarious channels and ambiguously limit users who the advertisements areto be delivered. The information pushing method for ambiguouslyspecifying a target user can be used to obtain more users to pushinformation. After the information is pushed, information collected by aprogram embedded on an advertisement channel can be used to push userattribute data.

For the user attribute data in this implementation of the presentdisclosure, a data processing method is described here, as shown in FIG.9:

1. Data cleansing and processing: Sample users and attribute data of thesample users are collected by using an embedded program on a channel.There are usually advertisements of multiple application programs orproducts on the same channel. Collected sample users can include anadvertisement user of another application program. Alternatively, someof the attribute data of the sample users is not characteristic data forgenerating the scoring model. Therefore, there is a need to cleanse andprocess the sample users and the attribute data of the sample users. Forexample, collected user assets data is assets data of a user indifferent assets accounts, but assets data for generating the scoremodel is the total assets data of the user. Therefore, there is a needto obtain the total assets data of the user based on the assets data ofthe user in the different assets accounts.

2. Anomaly detection: The sample users and the attribute data of thesample users are parsed out by using log information collected by theembedded program on the channel, and the data parsed out from the loginformation can include some dirty data. For example, some garbledcharacters can exist in brand data of the user's mobile phone, and thenumber of times of visiting application program advertisements by theuser can be excessive. It can be caused by malicious machine accessattacks. The dirty data can affect the generation of the scoring model.Therefore, it is necessary to detect whether there is dirty data in theattribute data of the sample users.

3. Data splitting->data sampling->data exploration: There can be a verylarge ratio of users, in the sampled users, that are converted intoapplication program users, to potential users of the applicationprograms; or a very large ratio of potential users of the applicationprograms to users, in the sampled users, that are converted intoapplication program users. Therefore, the attribute data of the sampleusers can be over-sampled or under-sampled, so a scoring modelgeneration algorithm can effectively learn of attribute feature of auser to be converted into an application program user.

4. Characteristic removal->loss processing->anomaly processing: Mostscoring model generation algorithms do not support sample data with lostdata or sample data with too much attribute characteristic information.Sample data with too much lost attribute characteristic data and sampledata with too many attribute characteristic types are removed. Attributecharacteristic data processing is performed on sample data with lesslost attribute characteristic data, that is, the lost attributecharacteristic data is filled. Data of a numeric type can be filledusing a median, and data of a discrete type can be filled using a mode.For example, if the user attribute data lacks age data of a certainuser, the median of age data of the sample users can be used as the agedata of the user. In addition, to prevent the scoring model from beingaffected by some abnormal data, it is usually necessary to process theabnormal data, for example, the abnormal data is replaced with 99quantile.

5. Characteristic conversion: Because the model algorithm in the scoringmodel algorithm supports only the sparse matrix and does not support anormal bi-dimensional table, it is necessary to convert the format ofthe attribute data to obtain the characteristic data for generating thescoring model. For example, the format of the characteristic data can beconverted through logarithm transformation to obtain the characteristicdata for generating the scoring model.

In this implementation of the present disclosure, as shown in FIG. 10, amethod for generating the predetermined scoring model is described here.

1. Characteristic selection: Obtain the characteristic data forgenerating the scoring model and the scoring model generation algorithm.The scoring model generation algorithm can be a decision tree algorithm,a logical regression algorithm, a random forest algorithm, an iterativedecision tree algorithm like Gradient Boosting Decision Tree (GBDT),etc.

2. Model training: Train multiple scoring models based on thecharacteristic data for generating the scoring model and the scoringmodel generation algorithm.

3. Parameter optimization: Obtain scoring effects of each scoring modelbased on parameters in the scoring model generation algorithm anddifferent combinations of the characteristic data. The scoring effectsof the scoring models can be measured based on a model scoring effectmeasurement standard. The model scoring effect measurement standard canbe an area under a curve, and a larger area under a curve indicates abetter scoring effect of a scoring model.

4. Scoring model predetermining: Select a scoring model with the bestscoring effect from multiple scoring models, and determine the scoringmodel with the best scoring effect as the predetermined scoring modelfor selecting a user whose score meets the predetermined condition.

5. Potential user scoring: Score the potential users based on thepredetermined scoring model, and then select the user whose score meetsthe predetermined condition from the potential users.

102. Select, from the multiple users based on relationship strengthamong the multiple users and influence of the multiple users, a user whopredetermined information is to be pushed.

The relationship strength among the multiple users can be similarityamong attribute information of the multiple users. Influence of a userrefers to capability strength that the user affects other users, and canbe the number of times of reading, sharing, and forwarding informationpublished by the user by other users.

The predetermined information to be pushed can be advertisementinformation that is pushed by an application program provider based onadvertisement budget. To avoid high costs on application programadvertisements, many application program providers usually budgetadvertisement costs, that is, determine information pushing user databased on the advertisement budget and push information only to users inthe information pushing user data.

For example, advertisement costs corresponding to an application programis five million, advertisement costs of each user is 1 RMB, and thereare five million users who the predetermined information is to bepushed. 7.5 million users with highest scores are selected by using thepredetermined scoring model, and five million users who predeterminedinformation is to be pushed are selected based on relationship strengthamong the users and influence of the users, from the 7.5 million usersselected by using the predetermined scoring model.

In this implementation of the present disclosure, multiple users whosescores meet the predetermined condition are selected by using thepredetermined scoring model, and then a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users. As such, the user who predetermined information is to bepushed can be converted into an application program user who performsinformation pushing, and more users can be obtained for the applicationprogram by using influence and broadcast capabilities of the user and byways of sharing, forwarding, or praising, thereby increasingadvertisement budget benefits of the application program and improvinginformation pushing efficiency.

103. Push information to the user who predetermined information is to bepushed.

In a method for pushing information provided in this implementation ofthe present disclosure, first, multiple users who meet a predeterminedcondition are obtained; then, a user who predetermined information is tobe pushed is selected from the multiple users based on relationshipstrength among the multiple users and influence of the multiple users;and finally, information is pushed to the user who predeterminedinformation is to be pushed. At present, a user who predeterminedinformation is to be pushed is directly selected and then information ispushed to the user. By comparison, in this implementation of the presentdisclosure, multiple users whose scores meet a predetermined conditionare selected by using a predetermined scoring model, and then a user whopredetermined information is to be pushed is selected from the multipleusers based on relationship strength among the multiple users andinfluence of the multiple users. As such, the selected user can beconverted into an application program user who performs informationpushing, and more application program users can be additionallyobtained, thereby increasing advertisement budget benefits of theapplication programs and improving information pushing efficiency.

An implementation of the present disclosure provides another method forpushing information. As shown in FIG. 2, the method includes thefollowing steps.

201. Obtain multiple users who meet a predetermined condition.

An explanation of the user meeting the predetermined condition and aprocess of obtaining the multiple users meeting the predeterminedcondition have been described in detail in step 101, and details areomitted in this implementation of the present disclosure here.

202. Divide the multiple users into different relation communities basedon relationship strength among the multiple users.

Relationship strength between users stored in each relation community isgreater than a predetermined threshold. The relation community can be arelation network community, and can be an online communication spacesuch as a forum, a bulletin board, a group discussion, online chat,networking, personal space, and a wireless value-added service. Users inthe same relation community have the same relation community label. Thepredetermined threshold can be set based on a requirement of a user orcan be set based on a default system mode, which is not limited in theimplementation of the present disclosure. For example, the predeterminedthreshold can be 0.4 or 0.5.

In this implementation of the present disclosure, before step 202, themethod further includes obtaining initial relation community labels ofthe multiple users. Step 202 can include updating the initial relationcommunity label of each user in the multiple users to a relationcommunity label of a user whose relationship strength with the user isgreater than the predetermined threshold, and dividing users with thesame relation community label in the multiple users into the samerelation community.

For example, if the predetermined threshold is 0.4, multiple usersselected by using a predetermined scoring model are user 1, user 2, user3, and user 4. Relationship strength between user 1 and user 2 is 0.1,relationship strength between user 1 and user 3 is 0.4, relationshipstrength between user 1 and user 4 is 0.2, and relationship strengthbetween user 1 and user 3 is greater than or equal to 0.4. Therefore, arelation community label of user 1 is updated to a relation communitylabel of user 3. In the same way, relation community labels of user 2,user 3, and user 4 can be updated.

A relation community dividing process is an iterative process. When thefirst iteration is performed, the initial relation community labels ofthe multiple users are obtained, and the initial relation communitylabel of each user in the multiple users can be an identity (ID) of theuser. During iterations after the first iteration, the relationcommunity label of each user is a relation community label updated basedon relationship strength between users.

In this implementation of the present disclosure, before dividing userswith the same relation community label into the same relation community,the method further includes obtaining the number of relation communitylabel updates; and determining whether the number of relationshipcommunity label updates is greater than a predetermined threshold.

The predetermined count threshold can be set based on a requirement of auser or can be set based on a default system mode, which is not limitedin the implementation of the present disclosure. For example, thepredetermined count threshold can be 100, 150, or 200.

The step of dividing users with the same relation community label in themultiple users into the same relation community includes dividing userswith the same relation community label in the multiple users into thesame relation community, if the relation community label update count ofthe user is greater than the predetermined count threshold.

For example, if the predetermined count threshold is 100, when therelation community label update count of the user is 50, it indicatesthat division of the relation community is not completed, and therelation community label of the user needs to be continuously updatedbased on the relationship strength between the users. When the relationcommunity label update count of the user is 100, it indicates thatdivision of the relation community is completed.

In this implementation of the present disclosure, after the determiningwhether the relation community label update count of the user is greaterthan the predetermined count threshold, the method further includesupdating the relation community label of the user to a relationcommunity label of a user whose relationship strength with the user isgreater than the predetermined threshold, if the relation communitylabel update count of the user is less than or equal to thepredetermined count threshold.

203. Separately select, from the different relation communities, a userwhose influence meets a predetermined influence condition.

In this implementation of the present disclosure, when the influence isinfluence index information, step 203 can be: separately selecting, fromthe different relation communities based on the influence indexinformation, a user whose influence index information is greater than orequal to predetermined influence index information.

The influence index can be the number of times that other users read,share, or forward information that is published by the user. Thepredetermined influence index threshold can be set based on arequirement of a user, or can be set based on a default system mode. Thepredetermined influence index threshold can be set based on a budget ofpredetermined information to be pushed, and this is not limited in thisimplementation of the present disclosure.

For example, advertisement budget of predetermined advertisements isthree million, and the number of users who the predeterminedadvertisements are to be pushed is three million. Three million usersneed to be selected from the relation communities, users in the relationcommunities are sorted in descending order of influence indexes, and thepredetermined influence index threshold is set based on an influenceindex of the No. three million user.

In another example, when the influence index can be the number of timesthat other users reading the information published by the user, thepredetermined influence index threshold can be the threshold of times toread the predetermined published information by other users, forexample, can be 50,000. When the influence index can be the number oftimes of sharing the information published by the user by other users,the predetermined influence threshold can be the threshold of times ofsharing the predetermined published information by other users, forexample, can be 100,000. When the influence index can be the number oftimes of forwarding the information published by the user by otherusers, the predetermined influence index threshold can be the thresholdof times of forwarding the predetermined published information by otherusers, for example, can be 80,000.

204. Determine the user whose influence meets the predeterminedinfluence condition as a user who predetermined information is to bepushed.

In this implementation of the present disclosure, when the influence isthe influence index information, step 204 can be: determining a userwhose influence index information is greater than or equal to thepredetermined influence index threshold, as a user who predeterminedinformation is to be pushed.

In this implementation of the present disclosure, a complete process ofselecting the user who predetermined information is to be pushed isshown in FIG. 11: First, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel; then, the multiple users are divided into different relationcommunities based on relationship strength among the multiple users; andfinally, a user whose influence meets a predetermined influencecondition is selected from the different relation communities, and theuser whose influence meets the predetermined influence condition isdetermined as a user who predetermined information is to be pushed.

205. Push information to the user who predetermined information is to bepushed.

In this implementation of the present disclosure, a specific applicationscenario can be shown in the following, but is not limited thereto:There are five million users who an application program advertisement isto be pushed, and 7.5 million users with higher scores are selected, byusing a predetermined scoring model, from potential users obtained basedon historical information pushing, where 7.5 million is 1.5 times offive million. Influence of each user in the 7.5 million users andrelationship strength between each user and other users are obtained.Based on the relationship strength between each user and the otherusers, four relation communities are obtained, including relationcommunity 1, relation community 2, relation community 3, and relationcommunity 4. Users with the strongest influence and whose quantity is ⅔of the number of users in each relation community are selected in orderto obtain five million users. The five million users selected from therelation communities are determined as users who the application programadvertisement is to be pushed, and information is pushed to the users.

In another method for pushing information provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

An implementation of the present disclosure provides a method fordetermining a target user. As shown in FIG. 3, the method includes thefollowing steps.

301. Obtain multiple users who meet a predetermined condition.

An explanation of the user meeting the predetermined condition and aprocess of obtaining the multiple users meeting the predeterminedcondition have been described in detail in step 101, and details areomitted in this implementation of the present disclosure here.

302. Select, from the multiple users based on influence respectivelycorresponding to the multiple users, a user whose influence meets apredetermined influence condition.

The predetermined influence condition can be set based on a requirementof a user or can be set based on a default system mode, which is notlimited in this implementation of the present disclosure. For example,the predetermined influence condition can be that an influence level ishigh, or can be that an influence index is greater than or equal to50,000 times.

303. Determine the user whose influence meets the predeterminedinfluence condition as a target user.

The target user can be a user who predetermined information is to bepushed.

For example, the predetermined influence condition is as follows: Theinfluence level is high. First, eight million users with the highestscores are obtained, and there are five million users whose influencelevels are high in the eight million users with the highest scores. Thenthe five million users whose influence levels are high are determined asusers who predetermined information is to be pushed.

In a method for determining a target user provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

An implementation of the present disclosure provides another method fordetermining a target user. As shown in FIG. 4, the method includes thefollowing steps.

401. Select, by using a predetermined scoring model, multiple userswhose scores meet the predetermined condition.

An explanation of the predetermined scoring model and a process ofselecting the multiple users whose scores meet the predeterminedcondition by using the predetermined scoring model have been describedin detail in step 101, and details are omitted in this implementation ofthe present disclosure here.

402. Determine influence levels of the multiple users based on apredetermined influence level table and influence respectivelycorresponding to the multiple users.

The predetermined influence level table stores influence thresholdintervals respectively corresponding to different influence levels. Theinfluence levels can be divided into three levels: high, medium, low; orfour levels: high, medium, sub-medium, and low.

For example, the influence levels are divided into three levels: high,medium, and low. When the influence level is high, a correspondinginfluence threshold interval is (50000, 100000). When the influencelevel is medium, a corresponding influence threshold interval is (5000,50000). When the influence level is low, a corresponding influencethreshold interval is (0, 5000). When influence of a user is 4000, aninfluence level of the user is low, and when the influence of the useris 80000, the influence level of the user is high.

In this implementation of the present disclosure, before step 402, themethod further includes: establishing a mapping relationship betweendifferent influence levels and different influence threshold intervals,and storing the mapping relationship in the predetermined influencelevel table.

403. Divide the multiple users into different relation communities basedon relationship strength among the multiple users.

Relationship strength between users stored in each relation community isgreater than a predetermined threshold. The predetermined threshold canbe set based on a requirement of a user or can be set based on a defaultsystem mode, which is not limited in the implementation of the presentdisclosure. For example, the predetermined threshold can be 0.5 or 0.6.

In this implementation of the present disclosure, before step 403, themethod further includes: obtaining initial relation community labels ofthe multiple users. Step 403 can be: updating the initial relationcommunity label of each user in the multiple users to a relationcommunity label of a user whose relationship strength with the user isgreater than the predetermined threshold, and dividing users with thesame relation community label in the multiple users into the samerelation community.

Before the dividing users with the same relation community label in themultiple users into the same relation community, the method furtherincludes: obtaining a relation community label update count of the user;and determining whether the relation community label update count of theuser is greater than a predetermined count threshold. The dividing userswith the same relation community label in the multiple users into thesame relation community includes dividing users with the same relationcommunity label in the multiple users into the same relation community,if the relation community label update count of the user is greater thanthe predetermined count threshold.

In this implementation of the present disclosure, after the determiningwhether the relation community label update count of the user is greaterthan the predetermined count threshold, the method further includesupdating the relation community label of the user to a relationcommunity label of a user whose relationship strength with the user isgreater than the predetermined threshold, if the relation communitylabel update count of the user is less than or equal to thepredetermined count threshold.

404. Determine a user whose influence level is greater than or equal toa predetermined level in the different relation communities, as a userwhose influence meets a predetermined influence condition.

The predetermined level can be set based on a requirement of a user orcan be set based on a default system mode, which is not limited in theimplementation of the present disclosure. For example, if thepredetermined level is high, a user whose influence level is high isdetermined as a user whose influence meets the predetermined influencecondition.

For example, when the predetermined level is high, 7.5 million users areobtained by using the predetermined scoring model. Based on relationshipstrength among the users, the 7.5 million users are divided into fiverelation communities: relation community 1, relation community 2,relation community 3, relation community 4, and relation community 5.Users whose influence levels are high are selected from relationcommunity 1, relation community 2, relation community 3, relationcommunity 4, and relation community 5, and are determined as users whoseinfluence meets the predetermined influence condition.

405. Determine the user whose influence meets the predeterminedinfluence condition as a target user.

The target user can be a user who predetermined information is to bepushed.

In another method for determining a target user provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

Further, as a specific implementation of the method shown in FIG. 1, animplementation of the present disclosure provides a device for pushinginformation. As shown in FIG. 5, the device can include an acquisitionunit 51, a selection unit 52, and a pushing unit 53.

The acquisition unit 51 is configured to obtain multiple users who meeta predetermined condition.

The selection unit 52 is configured to select, from the multiple usersbased on relationship strength among the multiple users obtained by theacquisition unit 51 and influence of the multiple users, a user whopredetermined information is to be pushed.

The pushing unit 53 is configured to push information to the user whopredetermined information is to be pushed and that is selected by theselection unit 52.

It is worthwhile to note that the device implementation is correspondingto the previous method implementation. For ease of reading, detailedcontent in the previous method implementation is not repeatedlydescribed in this device implementation, but it should be clear that thedevice in this implementation can correspondingly implement all contentin the previous method implementation.

In a device for pushing information provided in this implementation ofthe present disclosure, first, multiple users who meet a predeterminedcondition are obtained; then, a user who predetermined information is tobe pushed is selected from the multiple users based on relationshipstrength among the multiple users and influence of the multiple users;and finally, information is pushed to the user who predeterminedinformation is to be pushed. At present, a user who predeterminedinformation is to be pushed is directly selected and information ispushed to the user. By comparison, in this implementation of the presentdisclosure, multiple users whose scores meet a predetermined conditionare selected by using a predetermined scoring model, and then a user whopredetermined information is to be pushed is selected from the multipleusers based on relationship strength among the multiple users andinfluence of the multiple users. As such, the selected user can beconverted into an application program user who performs informationpushing, and more application program users can be additionallyobtained, thereby increasing advertisement budget benefits of theapplication programs and improving information pushing efficiency.

Further, as a specific implementation of the method shown in FIG. 2, animplementation of the present disclosure provides another device forpushing information. As shown in FIG. 6, the device can include anacquisition unit 61, a selection unit 62, and a pushing unit 63.

The acquisition unit 61 is configured to obtain multiple users who meeta predetermined condition.

The selection unit 62 is configured to select, from the multiple usersbased on relationship strength among the multiple users obtained by theacquisition unit 61 and influence of the multiple users, a user whopredetermined information is to be pushed.

The pushing unit 63 is configured to push information to the user whopredetermined information is to be pushed and that is selected by theselection unit 62.

Further, the selection unit 62 includes a division subunit 621, aselection subunit 622, and a determining subunit 623.

The division subunit 621 is configured to divide the multiple users intodifferent relation communities based on the relationship strength amongthe multiple users obtained by the acquisition unit 61, whererelationship strength between users stored in each relation community isgreater than a predetermined threshold.

The selection subunit 622 is configured to separately select, from thedifferent relation communities obtained through division by the divisionsubunit 621, a user whose influence meets a predetermined influencecondition.

The determining subunit 623 is configured to determine the user whoseinfluence meets the predetermined influence condition and that isselected by the selection subunit 622, as a user who predeterminedinformation is to be pushed.

Further, the selection unit 62 further includes an acquisition subunit624.

The acquisition subunit 624 is configured to obtain initial relationcommunity labels of the multiple users.

The division subunit 621 includes an update module 6211 and a divisionmodule 6212.

The update module 6211 is configured to update the initial relationcommunity label of each user in the multiple users obtained by theacquisition subunit 624, to a relation community label of a user whoserelationship strength with the user is greater than the predeterminedthreshold.

The division module 6212 is configured to divide users with the samerelation community label in the multiple users into the same relationcommunity.

The division subunit 621 further includes an acquisition module 6213 anda determining module 6214.

The acquisition module 6213 is configured to obtain the number ofrelation community label updates of the user.

The determining module 6214 is configured to determine whether therelation community label update count of the user that is obtained bythe acquisition module 6213 is greater than a predetermined countthreshold.

The division module 6213 is configured to divide users with the samerelation community label in the multiple users into the same relationcommunity if the determining module 6214 determines that the relationcommunity label update count of the user is greater than thepredetermined count threshold.

The update module 6211 is further configured to update the relationcommunity label of the user to a relation community label of a userwhose relationship strength with the user is greater than thepredetermined threshold, if the determining module 6214 determines thatthe relation community label update count of the user is less than orequal to the predetermined count threshold.

The selection subunit 622 is configured to: separately select, from thedifferent relation communities, a user whose influence index informationis greater than or equal to predetermined influence index information,when the influence is influence index information.

It is worthwhile to note that the device implementation is correspondingto the previous method implementation. For ease of reading, detailedcontent in the previous method implementation is not repeatedlydescribed in this device implementation, but it should be clear that thedevice in this implementation can correspondingly implement all contentin the previous method implementation.

In another device for pushing information provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

Further, as a specific implementation of the method shown in FIG. 3, animplementation of the present disclosure provides a device fordetermining a target user. As shown in FIG. 7, the device can include anacquisition unit 71, a selection unit 72, and a determining unit 73.

The acquisition unit 71 is configured to obtain multiple users who meeta predetermined condition.

The selection unit 72 is configured to select, from the multiple usersbased on influence respectively corresponding to the multiple usersobtained by the acquisition unit 71, a user whose influence meets apredetermined influence condition.

The determining unit 73 is configured to determine the user whoseinfluence meets the predetermined influence condition and that isselected by the selection unit 72, as a target user.

It is worthwhile to note that the device implementation is correspondingto the previous method implementation. For ease of reading, detailedcontent in the previous method implementation is not repeatedlydescribed in this device implementation, but it should be clear that thedevice in this implementation can correspondingly implement all contentin the previous method implementation.

In a device for determining a target user provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

Further, as a specific implementation of the method shown in FIG. 4, animplementation of the present disclosure provides another device fordetermining a target user. As shown in FIG. 8, the device can include anacquisition unit 81, a selection unit 82, and a determining unit 83.

The acquisition unit 81 is configured to obtain multiple users who meeta predetermined condition.

The selection unit 82 is configured to select, from the multiple usersbased on influence respectively corresponding to the multiple usersobtained by the acquisition unit 81, a user whose influence meets apredetermined influence condition.

The determining unit 83 is configured to determine the user whoseinfluence meets the predetermined influence condition and that isselected by the selection unit 82, as a target user.

The acquisition unit 81 is configured to select, by using apredetermined scoring model, multiple users whose scores meet thepredetermined condition.

The selection unit 82 includes a determining subunit 821.

The determining subunit 821 is configured to determine influence levelsof the multiple users based on a predetermined influence level table andthe influence respectively corresponding to the multiple users, wherethe predetermined influence level table stores influence thresholdintervals respectively corresponding to different influence levels.

The determining subunit 821 is further configured to determine a userwhose influence level is greater than or equal to a predetermined levelin the multiple users, as a user whose influence meets the predeterminedinfluence condition.

Further, the selection unit further includes a division subunit 822.

The division subunit 822 is configured to divide the multiple users intodifferent relation communities based on relationship strength among themultiple users, where relationship strength between users stored in therelation community is greater than a predetermined threshold.

The determining subunit 821 is configured to determine a user whoseinfluence level is greater than or equal to the predetermined level inthe different relation communities, as the target user.

Further, the device further includes an establishment unit 84 and astorage unit 85.

The establishment unit 84 is configured to establish a mappingrelationship between different influence levels and different influencethreshold intervals.

The storage unit 85 is configured to store the mapping relationship inthe predetermined influence level table.

Further, the selection unit further includes an acquisition subunit 823.

The acquisition subunit 823 is configured to obtain initial relationcommunity labels of the multiple users.

The division subunit 822 includes: an update module 8221, configured toupdate the initial relation community label of each user in the multipleusers to a relation community label of a user whose relationshipstrength with the user is greater than the predetermined threshold; anda division module 8222, configured to divide users with the samerelation community label in the multiple users into the same relationcommunity.

The division subunit 822 further includes an acquisition module 8223 anda determining module 8224.

The acquisition module 8223 is configured to obtain a relation communitylabel update count of the user.

The determining module 8224 is configured to determine whether therelation community label update count of the user that is obtained bythe acquisition module is greater than a predetermined count threshold.

The division module 8222 is configured to divide users with the samerelation community label in the multiple users into the same relationcommunity if the determining module 8224 determines that the relationcommunity label update count of the user is greater than thepredetermined count threshold.

The update module 8221 is further configured to update the relationcommunity label of the user to a relation community label of a userwhose relationship strength with the user is greater than thepredetermined threshold, if the determining module 8224 determines thatthe relation community label update count of the user in the multipleusers is less than or equal to the predetermined count threshold.

It is worthwhile to note that the device implementation is correspondingto the previous method implementation. For ease of reading, detailedcontent in the previous method implementation is not repeatedlydescribed in this device implementation, but it should be clear that thedevice in this implementation can correspondingly implement all contentin the previous method implementation.

In another device for determining a target user provided in thisimplementation of the present disclosure, first, multiple users who meeta predetermined condition are obtained; then, a user who predeterminedinformation is to be pushed is selected from the multiple users based onrelationship strength among the multiple users and influence of themultiple users; and finally, information is pushed to the user whopredetermined information is to be pushed. At present, a user whopredetermined information is to be pushed is directly selected andinformation is pushed to the user. By comparison, in this implementationof the present disclosure, multiple users whose scores meet apredetermined condition are selected by using a predetermined scoringmodel, and then a user who predetermined information is to be pushed isselected from the multiple users based on relationship strength amongthe multiple users and influence of the multiple users. As such, theselected user can be converted into an application program user whoperforms information pushing, and more application program users can beadditionally obtained, thereby increasing advertisement budget benefitsof the application programs and improving information pushingefficiency.

The device for pushing information includes a processor and a memory.The previously described acquisition unit, the selection unit, and thepushing unit are all stored in the memory as program units, and theprocessor executes the previous program units stored in the memory toimplement corresponding functions.

The processor includes a kernel, and the kernel invokes a correspondingprogram unit from the memory. One or more kernels can be configured, andthe problem of frame freezing when an image selected in a graph isdisplayed is resolved by adjusting a kernel parameter.

The memory can include a non-persistent storage, a random access memory(RAM), and/or a nonvolatile memory in a computer readable medium, forexample, a read-only memory (ROM) or a flash memory (flash RAM). Thememory includes at least one storage chip.

The present application further provides a computer program product.When the computer program product is executed on a data processingdevice, the computer program product can perform initialization ofprogram code that includes the following steps: obtaining multiple userswho meet a predetermined condition; selecting, from the multiple usersbased on relationship strength among the multiple users and influence ofthe multiple users, a user who predetermined information is to bepushed; and pushing information to the user who predeterminedinformation is to be pushed.

A person skilled in the art should understand that the implementationsof the present application can be provided as a method, a system, or acomputer program product. Therefore, the present application can usehardware only implementations, software only implementations, orimplementations with a combination of software and hardware. Inaddition, the present application can use a form of a computer programproduct that is implemented on one or more computer-usable storage media(including but not limited to a disk memory, a CD-ROM, an opticalmemory, etc.) that include computer-usable program code.

The present application is described with reference to the flowchartsand/or block diagrams of the graphic display method, the device, and thecomputer program product based on the implementations of the presentapplication. It should be understood that computer program instructionscan be used to implement each process and/or each block in theflowcharts and/or the block diagrams and a combination of a processand/or a block in the flowcharts and/or the block diagrams. Thesecomputer program instructions can be provided for a general-purposecomputer, a special-purpose computer, a built-in processor, or aprocessor of another programmable data processing device to generate amachine, so the instructions executed by the computer or the processorof the another programmable data processing device generate an apparatusfor implementing a specific function in one or more flows in theflowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions can be stored in a computer readablememory that can instruct the computer or the another programmable dataprocessing device to work in a specific way, so the instructions storedin the computer readable memory generate an artifact that includes aninstruction apparatus. The instruction apparatus implements a specificfunction in one or more flows in the flowcharts and/or in one or moreblocks in the block diagrams.

These computer program instructions can be loaded onto the computer orthe another programmable data processing device, so a series ofoperations and steps are performed on the computer or the anotherprogrammable device, thereby generating computer-implemented processing.Therefore, the instructions executed on the computer or the anotherprogrammable device provide steps for implementing a specific functionin one or more flows in the flowcharts and/or in one or more blocks inthe block diagrams.

In a typical configuration, a computing device includes one or moreprocessors (CPU), an input/output interface, a network interface, and amemory.

The memory possibly includes a non-persistent storage, a random accessmemory (RAM), and/or a nonvolatile memory in a computer readable medium,for example, a read-only memory (ROM) or a flash memory (flash RAM). Thememory is an example of the computer readable medium.

The computer readable medium includes persistent, non-persistent,movable, and unmovable media that can implement information storage byusing any method or technology. Information can be a computer readableinstruction, a data structure, a program module, or other data. Anexample of a computer storage medium includes but is not limited to aphase-change random access memory (PRAM), a static random access memory(SRAM), a dynamic random access memory (DRAM), another type of randomaccess memory (RAM), a read-only memory (ROM), an electrically erasableprogrammable read-only memory (EEPROM), a flash memory or another memorytechnology, a compact disc read-only memory (CD-ROM), a digitalversatile disc (DVD) or another optical storage, a cassette magnetictape, a tape and disk storage or another magnetic storage device or anyother non-transmission media that can be configured to store informationthat a computing device can access. Based on the definition in thepresent specification, the computer readable medium does not includetransitory media (transitory media), for example, a modulated datasignal and carrier.

The above-mentioned descriptions are merely the implementations of thepresent application, but are not intended to limit the presentapplication. For a person skilled in the art, the present applicationcan have various modifications and changes. Any modifications,equivalent substitutions, improvements, etc. made in the spirit andprinciple of the present application shall fall in the scope of theclaims in the present application.

FIG. 12 is a flowchart illustrating an example of a computer-implementedmethod 1200 for pushing information, according to an implementation ofthe present disclosure. For clarity of presentation, the descriptionthat follows generally describes method 1200 in the context of the otherfigures in this description. However, it will be understood that method1200 can be performed, for example, by any system, environment,software, and hardware, or a combination of systems, environments,software, and hardware, as appropriate. In some implementations, varioussteps of method 1200 can be run in parallel, in combination, in loops,or in any order.

At 1202, a plurality of users are identified that meet a predeterminedcondition. The predetermined condition can be set based on a requirementof a user, or can be set based on a system requirement, which is notlimiting. The multiple users can be multiple users whose scores meet apredetermined score condition. A user whose score meets thepredetermined score condition can be selected by using a predeterminedscoring model. The predetermined scoring model is generated based onuser results and user attributes historically obtained by applicationprograms. In particular, the one or more users are scored using thepredetermined scoring model, and the user whose score meets or exceedsthe predetermined condition from the potential users is selected. From1202, method 1200 proceeds to 1204.

At 1204, a target user is determined or selected from the identifiedusers to be provided with information, based on a relationship strengthand an influence of the identified users. In particular, therelationship strength among the one or more users can be similarityamong attribute information of the multiple users. The influence of auser refers to a capability strength that one user affects other users.The influence can also include the number of items of reading, sharing,and forwarding information published by the user by other users, forexample.

In some implementations, the multiple users are divided into differentrelation communities based on relationship strength among the multipleusers. The relation community can be a relation network community, andcan be an online communication space such as a forum, a bulletin board,a group discussion, online chat, networking, personal space, and awireless value-added service. Users in the same relation community havethe same relation community label. A relationship strength between usersstored in each relation community is greater than a predeterminedthreshold. The predetermined threshold can be set based on a requirementof a user or can be set based on a default system mode, for example.This step can additionally include obtaining initial relation communitylabels of the multiple users. Then, this step can include updating theinitial relation community label of each user in the multiple users to arelation community label of a user whose relationship strength with theuser is greater than the predetermined threshold, and dividing userswith the same relation community label in the multiple users into thesame relation community. From 1204, method 1200 proceeds to 1206.

At 1206, the information is transmitted to the determined target user.The predetermined information to be pushed can be advertisementinformation that is pushed by an application program provider based onadvertisement budget. To avoid high costs on application programadvertisements, many application program providers usually budgetadvertisement costs, that is, determine information pushing user databased on the advertisement budget and push information only to users inthe information pushing user data.

When the influence use in step 1240 is influence information, 1206 caninclude separately selecting, from the different relation communitiesbased on the influence index information, a user whose influence indexinformation is greater than or equal to predetermined influence indexinformation. The influence index can be the number of times that otherusers read, share, or forward information that is published by the user.The predetermined influence index threshold can be set based on arequirement of a user, or can be set based on a default system mode. Thepredetermined influence index threshold can be set based on a budget ofpredetermined information to be pushed, and this is not limiting. Whenthe influence is the influence index information, a user is determinedwhose influence index information is greater than or equal to thepredetermined influence index threshold, as the user to transmit theinformation. After 1206, method 1200 stops.

Embodiments and the operations described in this specification can beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification or in combinations of one or more of them. The operationscan be implemented as operations performed by a data processingapparatus on data stored on one or more computer-readable storagedevices or received from other sources. A data processing apparatus,computer, or computing device may encompass apparatus, devices, andmachines for processing data, including by way of example a programmableprocessor, a computer, a system on a chip, or multiple ones, orcombinations, of the foregoing. The apparatus can include specialpurpose logic circuitry, for example, a central processing unit (CPU), afield programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC). The apparatus can also include code thatcreates an execution environment for the computer program in question,for example, code that constitutes processor firmware, a protocol stack,a database management system, an operating system (for example anoperating system or a combination of operating systems), across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known, for example, as a program, software,software application, software module, software unit, script, or code)can be written in any form of programming language, including compiledor interpreted languages, declarative or procedural languages, and itcan be deployed in any form, including as a stand-alone program or as amodule, component, subroutine, object, or other unit suitable for use ina computing environment. A program can be stored in a portion of a filethat holds other programs or data (for example, one or more scriptsstored in a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (for example,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be executed on one computer or on multiplecomputers that are located at one site or distributed across multiplesites and interconnected by a communication network.

Processors for execution of a computer program include, by way ofexample, both general- and special-purpose microprocessors, and any oneor more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random-access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data. A computer can be embedded in another device, for example,a mobile device, a personal digital assistant (PDA), a game console, aGlobal Positioning System (GPS) receiver, or a portable storage device.Devices suitable for storing computer program instructions and datainclude non-volatile memory, media and memory devices, including, by wayof example, semiconductor memory devices, magnetic disks, andmagneto-optical disks. The processor and the memory can be supplementedby, or incorporated in, special-purpose logic circuitry.

Mobile devices can include handsets, user equipment (UE), mobiletelephones (for example, smartphones), tablets, wearable devices (forexample, smart watches and smart eyeglasses), implanted devices withinthe human body (for example, biosensors, cochlear implants), or othertypes of mobile devices. The mobile devices can communicate wirelessly(for example, using radio frequency (RF) signals) to variouscommunication networks (described below). The mobile devices can includesensors for determining characteristics of the mobile device's currentenvironment. The sensors can include cameras, microphones, proximitysensors, GPS sensors, motion sensors, accelerometers, ambient lightsensors, moisture sensors, gyroscopes, compasses, barometers,fingerprint sensors, facial recognition systems, RF sensors (forexample, Wi-Fi and cellular radios), thermal sensors, or other types ofsensors. For example, the cameras can include a forward- or rear-facingcamera with movable or fixed lenses, a flash, an image sensor, and animage processor. The camera can be a megapixel camera capable ofcapturing details for facial and/or iris recognition. The camera alongwith a data processor and authentication information stored in memory oraccessed remotely can form a facial recognition system. The facialrecognition system or one-or-more sensors, for example, microphones,motion sensors, accelerometers, GPS sensors, or RF sensors, can be usedfor user authentication.

To provide for interaction with a user, embodiments can be implementedon a computer having a display device and an input device, for example,a liquid crystal display (LCD) or organic light-emitting diode(OLED)/virtual-reality (VR)/augmented-reality (AR) display fordisplaying information to the user and a touchscreen, keyboard, and apointing device by which the user can provide input to the computer.Other kinds of devices can be used to provide for interaction with auser as well; for example, feedback provided to the user can be any formof sensory feedback, for example, visual feedback, auditory feedback, ortactile feedback; and input from the user can be received in any form,including acoustic, speech, or tactile input. In addition, a computercan interact with a user by sending documents to and receiving documentsfrom a device that is used by the user; for example, by sending webpages to a web browser on a user's client device in response to requestsreceived from the web browser.

Embodiments can be implemented using computing devices interconnected byany form or medium of wireline or wireless digital data communication(or combination thereof), for example, a communication network. Examplesof interconnected devices are a client and a server generally remotefrom each other that typically interact through a communication network.A client, for example, a mobile device, can carry out transactionsitself, with a server, or through a server, for example, performing buy,sell, pay, give, send, or loan transactions, or authorizing the same.Such transactions may be in real time such that an action and a responseare temporally proximate; for example an individual perceives the actionand the response occurring substantially simultaneously, the timedifference for a response following the individual's action is less than1 millisecond (ms) or less than 1 second (s), or the response is withoutintentional delay taking into account processing limitations of thesystem.

Examples of communication networks include a local area network (LAN), aradio access network (RAN), a metropolitan area network (MAN), and awide area network (WAN). The communication network can include all or aportion of the Internet, another communication network, or a combinationof communication networks. Information can be transmitted on thecommunication network according to various protocols and standards,including Long Term Evolution (LTE), 5G, IEEE 802, Internet Protocol(IP), or other protocols or combinations of protocols. The communicationnetwork can transmit voice, video, biometric, or authentication data, orother information between the connected computing devices.

Features described as separate implementations may be implemented, incombination, in a single implementation, while features described as asingle implementation may be implemented in multiple implementations,separately, or in any suitable sub-combination. Operations described andclaimed in a particular order should not be understood as requiring thatthe particular order, nor that all illustrated operations must beperformed (some operations can be optional). As appropriate,multitasking or parallel-processing (or a combination of multitaskingand parallel-processing) can be performed.

1.-20. (canceled)
 21. A computer-implemented method, comprising:identifying a plurality of users satisfying a predetermined condition;obtaining initial relation community labels of the plurality of users;determining an updated relation community label for each user of theplurality of users, wherein determining the updated relation communitylabel for each user comprises: determining that a relationship strengthbetween a first user of the plurality of users and a second user of theplurality of users is larger than a threshold, and responsive todetermining that the relationship strength between the first user andthe second user is larger than the threshold, assigning matching updatedrelation community labels to the first user and the second user;dividing the plurality of users into a plurality of relationcommunities, wherein users having matching updated relation communitylabels are assigned to a particular relation community, wherein eachuser of the plurality of users is assigned to a single relationcommunity based on the updated relation community label of the user, andwherein at least one of the plurality of relation communitiescorresponds to membership in an online social network community;selecting a plurality of target users from the users of each particularrelation community to be provided with information, wherein the targetusers are selected based on respective influences of the target userscompared to respective influences of other users of the particularrelation community, wherein the influence of each user comprises astrength with which the user affects other users; and transmitting theinformation to the selected plurality of target users over a network.22. The computer-implemented method of claim 21, wherein the updatedrelation community labels are final updated relation community labels,and wherein determining the final updated relation community label foreach user of the plurality of users further comprises: updating, in apredetermined number of iterations, comparisons of relationship strengthbetween the users of the plurality of users, wherein the predeterminednumber of iterations is at least two, and wherein each iteration after afirst iteration of the predetermined number of iterations comprises:obtaining, for the first user, a previous relation community label basedon a previous iteration to the iteration; determining whether arelationship strength between the first user and another user of theplurality of users is larger than the threshold; and in response todetermining that the relationship strength between the first user andthe other user is larger than the threshold, assigning matching updatedrelation community labels to the first user and the other user,comprising one of changing the previous relation community label of thefirst user to match a previous relation community label of the otheruser, or changing the previous relation community label of the otheruser to match the previous relation community label of the first user,wherein an updated relationship community label of the first user basedon a final iteration of the predetermined number of iterations is thefinal updated relation community label of the first user.
 23. Thecomputer-implemented method of claim 21, wherein selecting the pluralityof target users from each particular relation community to be providedwith information comprises:selecting, as  the  plurality  of  target  users, a  matching  proportion  of  the  users  of  each  relation  community.24. The computer-implemented method of claim 21, further comprising:determining an influence level for each user in the plurality of usersbased on a predetermined influence level table.
 25. Thecomputer-implemented method of claim 24, wherein the predeterminedinfluence level table comprises influence threshold intervals thatcorrespond to different influence levels, the different influence levelsdivided into high, medium, sub-medium, and low.
 26. A non-transitory,computer-readable storage medium coupled to one or more computers andconfigured with instructions that, when executed by the one or morecomputers, cause the one or more computers to perform operationscomprising: identifying a plurality of users satisfying a predeterminedcondition; obtaining initial relation community labels of the pluralityof users; determining an updated relation community label for each userof the plurality of users, wherein determining the updated relationcommunity label for each user comprises: determining that a relationshipstrength between a first user of the plurality of users and a seconduser of the plurality of users is larger than a threshold, andresponsive to determining that the relationship strength between thefirst user and the second user is larger than the threshold, assigningmatching updated relation community labels to the first user and thesecond user; dividing the plurality of users into a plurality ofrelation communities, wherein users having matching updated relationcommunity labels are assigned to a particular relation community,wherein each user of the plurality of users is assigned to a singlerelation community based on the updated relation community label of theuser, and wherein at least one of the plurality of relation communitiescorresponds to membership in an online social network community;selecting a plurality of target users from the users of each particularrelation community to be provided with information, wherein the targetusers are selected based on respective influences of the target userscompared to respective influences of other users of the particularrelation community, wherein the influence of each user comprises astrength with which the user affects other users; and transmitting theinformation to the selected plurality of target users over a network.27. The non-transitory, computer-readable storage medium of claim 26,wherein the updated relation community labels are final updated relationcommunity labels, and wherein determining the final updated relationcommunity label for each user of the plurality of users furthercomprises: updating, in a predetermined number of iterations,comparisons of relationship strength between the users of the pluralityof users, wherein the predetermined number of iterations is at leasttwo, and wherein each iteration after a first iteration of thepredetermined number of iterations comprises: obtaining, for the firstuser, a previous relation community label based on a previous iterationto the iteration; determining whether a relationship strength betweenthe first user and another user of the plurality of users is larger thanthe threshold; and in response to determining that the relationshipstrength between the first user and the other user is larger than thethreshold, assigning matching updated relation community labels to thefirst user and the other user, comprising one of changing the previousrelation community label of the first user to match a previous relationcommunity label of the other user, or changing the previous relationcommunity label of the other user to match the previous relationcommunity label of the first user, wherein an updated relationshipcommunity label of the first user based on a final iteration of thepredetermined number of iterations is the final updated relationcommunity label of the first user.
 28. The non-transitory,computer-readable storage medium of claim 26, wherein selecting theplurality of target users from each particular relation community to beprovided with information comprises: selecting, as the plurality oftarget users, a matching proportion of the users of each relationcommunity.
 29. The non-transitory, computer-readable storage medium ofclaim 26, wherein the operations further comprise: determining aninfluence level for each user in the plurality of users based on apredetermined influence level table.
 30. The non-transitory,computer-readable storage medium of claim 29, wherein the predeterminedinfluence level table comprises influence threshold intervals thatcorrespond to different influence levels, the different influence levelsdivided into high, medium, sub-medium, and low.
 31. Acomputer-implemented system, comprising: one or more computers; and oneor more computer-readable storage media coupled to the one or morecomputers and configured with instructions that, when executed by theone or more computers, cause the one or more computers to performoperations comprising: identifying a plurality of users satisfying apredetermined condition; obtaining initial relation community labels ofthe plurality of users; determining an updated relation community labelfor each user of the plurality of users, wherein determining the updatedrelation community label for each user comprises: determining that arelationship strength between a first user of the plurality of users anda second user of the plurality of users is larger than a threshold, andresponsive to determining that the relationship strength between thefirst user and the second user is larger than the threshold, assigningmatching updated relation community labels to the first user and thesecond user; dividing the plurality of users into a plurality ofrelation communities, wherein users having matching updated relationcommunity labels are assigned to a particular relation community,wherein each user of the plurality of users is assigned to a singlerelation community based on the updated relation community label of theuser, and wherein at least one of the plurality of relation communitiescorresponds to membership in an online social network community;selecting a plurality of target users from the users of each particularrelation community to be provided with information, wherein the targetusers are selected based on respective influences of the target userscompared to respective influences of other users of the particularrelation community, wherein the influence of each user comprises astrength with which the user affects other users; and transmitting theinformation to the selected plurality of target users over a network.32. The computer-implemented system of claim 31, wherein the updatedrelation community labels are final updated relation community labels,and wherein determining the final updated relation community label foreach user of the plurality of users further comprises: updating, in apredetermined number of iterations, comparisons of relationship strengthbetween the users of the plurality of users, wherein the predeterminednumber of iterations is at least two, and wherein each iteration after afirst iteration of the predetermined number of iterations comprises:obtaining, for the first user, a previous relation community label basedon a previous iteration to the iteration; determining whether arelationship strength between the first user and another user of theplurality of users is larger than the threshold; and in response todetermining that the relationship strength between the first user andthe other user is larger than the threshold, assigning matching updatedrelation community labels to the first user and the other user,comprising one of changing the previous relation community label of thefirst user to match a previous relation community label of the otheruser, or changing the previous relation community label of the otheruser to match the previous relation community label of the first user,wherein an updated relationship community label of the first user basedon a final iteration of the predetermined number of iterations is thefinal updated relation community label of the first user.
 33. Thecomputer-implemented system of claim 31, wherein selecting the pluralityof target users from each particular relation community to be providedwith information comprises: selecting, as the plurality of target users,a matching proportion of the users of each relation community.
 34. Thecomputer-implemented system of claim 31, wherein the operations furthercomprise: determining an influence level for each user in the pluralityof users based on a predetermined influence level table.
 35. Thecomputer-implemented system of claim 34, wherein the predeterminedinfluence level table comprises influence threshold intervals thatcorrespond to different influence levels, the different influence levelsdivided into high, medium, sub-medium, and low.